﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Xml;
    using System.Xml.Serialization;

    [Serializable, DesignerCategory("code"), XmlType(TypeName="SecurityCapabilities", Namespace="http://www.onvif.org/ver10/schema"), GeneratedCode("svcutil", "3.0.4506.2152"), DebuggerStepThrough]
    public class SecurityCapabilities1
    {
        private bool accessPolicyConfigField;
        private XmlAttribute[] anyAttrField;
        private XmlElement[] anyField;
        private SecurityCapabilitiesExtension extensionField;
        private bool kerberosTokenField;
        private bool onboardKeyGenerationField;
        private bool rELTokenField;
        private bool sAMLTokenField;
        private bool tLS11Field;
        private bool tLS12Field;
        private bool x509TokenField;

        [XmlElement(Order=3)]
        public bool AccessPolicyConfig
        {
            get
            {
                return this.accessPolicyConfigField;
            }
            set
            {
                this.accessPolicyConfigField = value;
            }
        }

        [XmlAnyElement(Order=8)]
        public XmlElement[] Any
        {
            get
            {
                return this.anyField;
            }
            set
            {
                this.anyField = value;
            }
        }

        [XmlAnyAttribute]
        public XmlAttribute[] AnyAttr
        {
            get
            {
                return this.anyAttrField;
            }
            set
            {
                this.anyAttrField = value;
            }
        }

        [XmlElement(Order=9)]
        public SecurityCapabilitiesExtension Extension
        {
            get
            {
                return this.extensionField;
            }
            set
            {
                this.extensionField = value;
            }
        }

        [XmlElement(Order=6)]
        public bool KerberosToken
        {
            get
            {
                return this.kerberosTokenField;
            }
            set
            {
                this.kerberosTokenField = value;
            }
        }

        [XmlElement(Order=2)]
        public bool OnboardKeyGeneration
        {
            get
            {
                return this.onboardKeyGenerationField;
            }
            set
            {
                this.onboardKeyGenerationField = value;
            }
        }

        [XmlElement(Order=7)]
        public bool RELToken
        {
            get
            {
                return this.rELTokenField;
            }
            set
            {
                this.rELTokenField = value;
            }
        }

        [XmlElement(Order=5)]
        public bool SAMLToken
        {
            get
            {
                return this.sAMLTokenField;
            }
            set
            {
                this.sAMLTokenField = value;
            }
        }

        [XmlElement("TLS1.1", Order=0)]
        public bool TLS11
        {
            get
            {
                return this.tLS11Field;
            }
            set
            {
                this.tLS11Field = value;
            }
        }

        [XmlElement("TLS1.2", Order=1)]
        public bool TLS12
        {
            get
            {
                return this.tLS12Field;
            }
            set
            {
                this.tLS12Field = value;
            }
        }

        [XmlElement("X.509Token", Order=4)]
        public bool X509Token
        {
            get
            {
                return this.x509TokenField;
            }
            set
            {
                this.x509TokenField = value;
            }
        }
    }
}

